﻿public var deplacement : int = 0; // On initialise la variable qui détermine si la taupe est sortie ou non
public var arrivee: Vector3; // On initialise le point d'arrivée de la taupe quand elle sort
public var speed : float;
public var step : float;
public var hauteurSortie : float;
public var positionTaupe : Vector3;
public var hasardMouvement : float;
	
function Start () {
	hauteurSortie = 1;
	arrivee = Vector3(transform.position.x, hauteurSortie, transform.position.z);
	speed = 5;
}

function Update () {
	
	// Calcul aléatoire pour savoir si la taupe sort
	if (deplacement == 0) { hasardMouvement = Mathf.Round(Random.Range(0, 150.0)); }
	//Debug.Log(hasardMouvement);
	if (hasardMouvement == 1) { deplacement = 1; }
	
	// Si la taupe est en mouvement, on fait faire le déplacement
	if (deplacement == 1 && transform.position.y < hauteurSortie) {
		step = speed * Time.deltaTime;
		positionTaupe = Vector3.MoveTowards(transform.position, arrivee, step);
		transform.position = positionTaupe;
	}
	
	// Si on clique sur la taupe, elle rentre
	if(Input.GetMouseButtonDown(0)) {
		var hit : RaycastHit;
		var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition);
		
		if (deplacement == 1 && Physics.Raycast (ray, hit, 100.0)) {
			deplacement = 0;
			var j = 0.0;
			while (j < 10000.0) {
				j += 1;
				transform.Translate(0, -Time.deltaTime/100, 0);
			}
		}
	}
}

// TODO LIST
// Faire un retour mieux une fois tapé dessus (surtout en cours de route)
// Monter aléatoire
// Plateau plus large
